Copyright: Copyright ® 1993 Monte Carlo Software


 Overview

Charlie is a program that replaces the data-manager that is delivered with Microsofts Visual Basic 3.0 It extends its functionality by letting the user use relations between tables as is done in access. Also the functionality is extended by allowing all kinds of manipulations like: delete field, change index, etc. without having to rebuild your database. A lot more is added to the data manager, you will see that when reading on.

Just select your topic from above image to get a more detailed explanation.


Add

The Add function enables you to add either Tables, Fields, Indexes, Querys, or Relations.

The button remains not usable till a database is open. The item you will add depends on the group you selected last with your mouse. i.e. To add a field to a table, first select the table, then select the a field from this table, and then select the Add-button. You can arrive at the same result by selecting the add function in one of the menu branches. However, take care, you cannot add a field unless you have chosen (clicked on) a table to add the field to, and so on.

So, You can

-	Add a table

-	Add a field

-	Add an index

- 	Add a relation

-	Add a query


Add a Table

You can fill in the name of a table. It can be up to 40 positions, and must start with an alphabetic character. You can, of course, not use the name of an existing table. After you gave the name, pressing o.k., generates a new table in your database.

The new table will have one field, named dummy, because you cannot have  a table without fields. Later you can add your own fields, and delete the dummy fields.

If you press cancel nothing wil be done, and you will be returned immediately to the main screen.

See also

Tables

Delete a Table

Change a table

Overview


Add a Field

In the header of this form the title line indicates to which table you are going to add the field. After giving the name of the field (max 40 positions with an alphabetic character as the first), you can give the fields properties. The type can be selected from a list of types. All the types available to an access database are listed here.

If you choose Text(String) as the type (which also is the default type), you can give a size for your text-string. The default is 20 positions. For all other field-types the size is automatically given by the program. If your field is a Long Integer you have the possibility to check the Auto-increment box. In this case your fields values will be accumulated, with the appearance of new rows, automatically by the access engine.

Lastly you can define a collating order for text-fields. If the collating order is different than that of the data-base.

If you press the O.K. button, the new field will be added to the table-definition in your database. If you press cancel nothing will be done, and you will be returned immediate to the main sreen.

See also:

Fields

Delete a Field

Change a Field

Overview


Add An Index

In the header of this form the title line indicates to which table you are going to add the index. After giving the name of the index (max 40 positions with an alphabetic character as the first), you can give the indexs properties.

Next to the label Fields selected you will see a review of what you did until now. Clicking on an not selected field from the list of available fields will add this field to your index. Clicking on a selected field in the fields-list will remove the field from your index. By clicking un the +/- column at the left of the fields table you can choose an Ascending (+) or Descending (-) sort order for a field.

If you want to you can define the index as primary index. This means it will allways be unique, regardless of what you select under Unique.

Under unique you can define (when selected) that your index has to contain unique values. If you want to use this index in a relation, it has to have unique values.

If you press the O.K. button, the new Index will be added to the table-definition in your database. If you press cancel nothing will be done, and you will be returned immediate to the main screen. If a new index is added, also its data will be generated. This may take some time if you have a lot of rows in the table.

See also:

Indexes

Delete an index

Change an index

Overview


Add a Relation

To add a relation between 2 tables, you have to start with selecting the source table (the table which will point TO the other table, the N: side) in the main screen. You then select the references, and press the Add-button.

You will be presented with above screen. Start with giving the new relation a name (as always - 40 positions, starting with an alphabetic code). Now, by using the Up and Down keys you can select the fields you want to participate in the relation from the source table.

After this, you can select your target table from the list of tables that's presented on the right side of the form. This is the table that is pointed to, the target table, the 1: side). After selecting a table its fields will be displayd in the list of fields under the tables - selection. There to, you can select the wanted fields for the reference with the Up- and Down-buttons.

It is imperative that the target and source fields, have the same sequence in size and type. F.i. 1st. Field is Long on both sides, and 2nd. field is Text with size set to 80 on both sides. Also, the target fields must be part of an Unique index on the target table.

After this you can select if you want a 1:1 (only one source for each target value) or a N:1 (More sources for each target) relation.

If you press the O.K. button, the new relation will be added to the database-definition. If you press cancel nothing will be done, and you will be returned immediate to the main screen. After the relation is added, the access engine will start its controlling task immediately. This means :

You cannot add a source row, if there is not a relation value available in the target rows

You cannot delete a target-row as long as there are still source rows pointing to it.

You cannot delete a table thats part of a reference.(Not with Charlie that is)

And a lot more similar controls are made.

n.b. : Because Microsoft does not allow VB programs access to the access system tables (even no read access), its not possible for charlie to use these to manage the relations. For this reason, we introduced our own set of system tables. They are called MCSys........ You will not see these as long as you work with Charlie. However if you use f.i. the Microsoft DataManager, the tables will be visible to you. Since they contain only a few rows, there will be no impact on the size and performance of your database.

See also

Relations

Delete a relation

Change a relation

Summary


Add a Query

To add a query to the database you select the querys part of the main sreen, and then click on the Add-button. You will be presented with above screen.Start with giving the new query a name (as always - 40 positions, starting with an alphabetic code).

In the text-part of the screen you can typoe in the SQL statement you wnat the query to comprise. Take care!, this statement will be checked against the database for correctness, before its inserted. You will not be able to insert an SQL sequence that contains language erors, or references not -yet- excisting fields.

If you press the O.K. button, the new query will be added to the database-definition. If you press cancel nothing will be done, and you will be returned immediate to the main screen.

See also

Querys

Delete a query

Change a  query

Summary


Delete

The delete function enables you to delete either Tables, Fields, Indexes, Querys, or Relations.

The button remains not usable till a database is open. The item you will delete depends on the group you selected last with your mouse. i.e. To delete a field from a table, first select the table, then select the a field from this table, and then select the Delete-button. You can arrive at the same result by selecting the delete function in one of the menu branches. However, take care, you cannot delete a field unless you have chosen (clicked on) a field to delete, and so on.

So, You can

-	Delete a table

-	Delete a field

-	Delete an index

- 	Delete a relation

-	Delete a query


Delete a Table

You just confirm the delete by pressing Yes, or cancel it by pressing No. Be aware that if you delete a table, all its data (rows) is (are) lost!

If you try to delete a table wich is involved in a relation you first have to delete the relation, and then the table. Otherwise you will be blocked.

See also

Table

Add a table

Change a table

Summary


Delete a Field

After requesting a selected field (by clicking on its name, and pressing the delete-button) to be deleted, you will be presented with some information about this field.

The window shows the fields table, name, type and size. You are asked to confirm (Yes), or to deny (No) the deletion of this field.

Yoe can only delete fields which are not involved in relations and/or indexes. If you want to delete such a field you must delete the index, and/or the relation first.

See also

Fields

Add a field

Change a field

Summary


Delete an Index

After requesting a selected index (by clicking on its name and pressing the delete-button) to be deleted, you will be presented with some information about this index.

The window shows the index table, name and fields. You are asked to confirm (Yes), or to deny (No) the deletion of this index.

You cannot delete an index which is involved in a relation, if you want to do that you have to delete the relation first, and the index afterwards.

n.b.! Deleteing an index does not delete its fields, just the index on the table, all fields will remain intact in the table.

See also

Indexes

Add an index

Change an index

Summary


Delete a Relation

After selecting a reference (relation) (By clicking on its name), pressing the delete-button, will show you above window with some details about the relation. The source and target tables and fields will be shown, also its relation (1:1 or N:1).

You are asked to confirm (Yes), or to deny (No) the deletion of this reference.

See also

Relations

Add an relation

Change an relation

Summary


Delete a Query

After selecting a query, you can request its deletion by pressing the delete-button. You will be presented with a window showing you the name and the SQL Statement of the query. You can browse trough the statement by using the control on the left-side of the window.

You are asked to confirm (Yes), or to deny (No) the deletion of this query definition.

See also

Querys

Add a query

Change a query

Summary


Change

The change function enables you to change either Tables, Fields, Indexes, Querys, or Relations.

The button remains not usable till a database is open. The item you will change depends on the group you selected last with your mouse. i.e. To change a field from a table, first select the table, then select the a field from this table, and then select the Change-button. You can arrive at the same result by selecting the change function in one of the menu branches. However, take care, you cannot change a field unless you have chosen (clicked on) a field to change, and so on.

So, You can

-	Change a table

-	Change a field

-	Change an index

- 	Change a relation

-	Change a query


Change a Table

Requesting to change a table (by clicking on its name, and then clicking on the change-button) means just changing its name. You will be given the opportunity to enter a new name for the table (Max. 40 Positions, first position must be alphabetic).

You can confirm the change (Yes) or deny it (No).

Take Care ! If you change the name of a table, all query definitions referencing that table under an old name will be invalid! Also any references to that table will be invalid, so here to you have to take care of such inconveniances.

See also

Tables

Add a table

Delete a table

Summary


Change a Field

After you have selected a field by clicking on its name and requested a change operation by pressing the change-button you will be presented with a window showing you the current (now) situation of the field, and allowing you to change it to the future configuration.

The fields table will be given, and cannot be changed. The name of the field can be changed. However, changing this name will make all referencing query definitions invalid!, also its involvement in relations will be questionable after a name change, so take extreme care.

Also the fields type and size might be changed. The size can only be entered if the future format of the field is Text. Be aware that the fields involved in a relation must be of the same type and length! Although Charlie will try its best to make a reasonable transfer from one type to an other, there are a lot of combinations possible by which you will loose data. For instance :

Text(100)	->	Text(10)	(everything longer as 10)

Text(20)	->	Integer	(Letters and numbers over 32K)

Double	->	Integer	(Fractional part)

etc. etc.

You can imagine that you have to think twice before using this feature!. Also some conversions will be impossible, and blocked (for instance Date -> Byte).

In some special cases, an extra conversion is done as follows :

Boolean -> Byte	True = 255, False = 0

Boolean -> Memo or Text	True = True, False = False

And both also the other way around.

For all other conversions Charlie will use the standard rules for Visual Basic and deliver as much as possible in the new field configuration.

You are asked to confirm (Yes), or to deny (No) the changes for this field.

See also

Fields

Add a field

Delete a field

Summary


Change an Index

After you have selected an index by clicking on its name, you can press the change-button to change the index properties. You will be presented with a window giving you the current index data, like table (you cannot change that), name, fields making up the index, if its unique and if its a primary index on this table.

By selecting in the two lists -Now in index and -Not in index, and then using the 2 butons (Add and Remove) you can change the composition of the index. In clicking in the +/- indicator you can determen if a field is to be sorted ascending (+) or descending (-) inside the index.

You can also change the name of the index, if its to be unique and if its this tables primary index. When the latter, then its always unique.

Take care to change indexes who are involved in relations. The fields making up a relation must be part of a unique index on the target table. Donnot change this as long as the relation is defined.

You are asked to confirm (Yes), or to deny (No) the changes for this index.

See also

Indexes

Add an index

Delete an index

Summary


Change a Relation

After selecting a reference (relation between tables) and pressing the change button, you will be presented with a window which enables you to change all properties but the source table for a reference.

You can change the name of the reference, the target table, the source and target fields, and the relation (1:1 or n:1). You can change the target table by clciking on an other name in the tables list. Then by using the 4 buttons in the middele you can compose the source and target fields to your liking.

Only, of course the source fields must be part of an exclusive index, and the source and target fields must be equal in type and size. This means that normally you would make the source fields of a relation the primary key of the source table.

After this you can select if you want a 1:1 (only one source for each target value) or a N:1 (More sources for each target) relation.

If you press the O.K. button, the changed relation will be added to the database-definition. If you press cancel nothing will be done, and you will be returned immediate to the main screen, the old relation remains the same. After the relation is changed, the access engine will start its controlling task immediately. This means :

You cannot add a source row, if there is not a relation value available in the target rows

You cannot delete a target-row as long as there are still source rows pointing to it.

You cannot delete a table thats part of a reference.(Not with Charlie that is)

And a lot more similar controls are made.

n.b. : Because Microsoft does not allow VB programs access to the access system tables (even no read access), its not possible for charlie to use these to manage the relations. For this reason, we introduced our own set of system tables. They are called MCSys........ You will not see these as long as you work with Charlie. However if you use f.i. the Microsoft DataManager, the tables will be visible to you. Since they contain only a few rows, there will be no impact on the size and performance of your database.

See also

Relations

Delete a relation

Add a relation

Summary


Change a Query

After selecting a query definition and pressing the change button you will be presented with a window which allows you to change a query definition.

You can change the name and/or the text of the SQL statement. After changing the statement the correctness of your changes will be tested before anything gets changed in the database.

You can change a statement in place, that means it will be updated. Or change it by making a copy. This copy must then have an other name as the original. This might be the easiest way to make and test changes in SQL statements. Its safe because your old statement will be kept under its original name.

See also

Querys

Delete a query

Add a query

Summary


Tables

A little design aid with the definition of tables.

Tables are comprised of one or more fields. Often their is a friction between the decision what's a field and how to arrange them in tables in a meaningful way. Normally the fields are grouped in a logical way, this means you might f.i. define fields which comprises an address like street, town, house number, zip, etc. etc.

If you have a table with addresses you would have one value in each field for one address (row). So you could group the above fields to be in one table.

Anyway, the choice which entities (Fields) to pack together in one table is not always as easy as it seems. The amount of tables can be substantial, and its always possible to generate virtual tables i.e. dynasets, to complicate things even further. One of the major groundstones for conclusions about tables should be the performance. You can use charlies speed option to see what effect changes i.e. different constructions of tables is having.

Summary


Fields

A little help by the definition of fields

Sometime with textfields, you donnot know what actually will be in the field. So you end up taking 100 positions for a town, becouse you think thats allways o.k. You might want to use the List data option on your charlie main window to list the data of a field. Charlie will make the list a wide as nessesary for the widest contents of  a field. In this way you can judge if your field size for text fileds is realistic.

Allso, sometimes it might be easyer to use one filed for several data units. Consider an address. The street line might bee one line, or also several. You see often that 2 fileds are used to accomodate a reasonable number of cases. It might be better and more efficient to implement this a s one filed, and use your own street line separator in the filed (| f.i.)

Summary


Indexes

Indexes take up place in the database, but they speed up the access to the rows of your tables tremendously. To test that, just look at the figures produced with charlies performance measurement tool.

Indexes are also a necessity to be able to define relations between tables. So apart from considering your access times and ways in deciding which indexes to build, consider also the relations you will have between the tables from your database

Summary


Relations

Tables are comprised of one or more fields. Often their is a friction between the decision what's a field and how to arrange them in tables in a meaningful way. Normally the fields are grouped in a logical way, this means you might f.i. define fields which comprises an address like street, town, house number, zip, etc. etc.

If you have a table with addresses you would have one value in each field for one address (row). So you could group the above fields to be in one table.

However, if much of your addresses are from the same town (yours f.i.) it would not make much sense to have all those similar values in the row of your addresses table. It might be more interesting to have a towns table and a addresses table with a relation defined between them. You probably would end up with a small (in rows that is) towns table and a large address table. This could easier be done in implementing an auto-increment field and an town field in the towns table, and an referencing field to the auto increment field in the address table.

The advantages are several.

1. You probably will take up less disc space. (the auto increment field takes up 2* 4 bytes = 8 Positions, while the text filed with towns probably will take up some 100 Positions.

2. You will have a consistent (hopefully correct) name for your towns. If your home own is Cincinnati, i am sure it will end up in many ways in your database.

3. You can use the access engine to check on the consistency, i.e. that a correct town-name is used, and that no town is deleted until its used in no rows anymore.

4. Its faster and easier to make an overview per town.

There are also some disadvantages.

1. Your programs get a bit more complex with 2 tables, however with a correct SQL-statement you can easier generate a dynaset which behaves as one table.

2. Access time might be  bit longer, since you have to physically read 2 tables. With the speed of the access engine, we might say that this is normally irrelevant.

Summary


Querys

Querys are stored in the database to standardize on the kind of querys you have ( and with that the dynasets), and to easy have access to them from all programs.

Actually are the query definitions part of the data definition, since by generating the dynasets, they are a dynamic way of defining tables with fields in your database. For this reason they are treated as such in charlie.

As far as possible charlie will check a SQL-statement in  a query definition for correctness before allowing it into the database

Summary


Edit data in the database

 To edit data directly in the database select a table you want to edit, then press the edit data button. You will be presented with the following window, in which you can add, delete change or edit data records.

You can use the browse control at the bottom of the screen to browse trough the records of the database. From left to right they will : - put you at the first record, - the previous record, - the next record and - the last record of the table.

If there are more fields as fit on the screen, a scroll bar will appear on the left of the data. use it to see other fields, which are not on screen.

If you want to add a record, then push the add button. You will be presented with a empty record. Fill it in following the rules that you defined for the table and press update, or go to an other record. The data you just gave in will (after checking) be entered in the database.

If you want to delete a record, select the one you want to delete. Then press on the delete button. The record will be removed from the rows on your table.

If you want to change a record, then just select the record you want to change, change the data on the screen, and press update, or select an other record. The changes will be introduced in the database after verification.

To search a specific record. Press on Find. Then fill in the data with which you want to search. Then again press on find, which than is named go. If any records matching your criteria will be found you will be presented with the first.

If you are ready working in this function, then press the stop button to leave it for the main window.

Summary


List data from the database

When you want an overview of the data from your database on screen, use this button. First you select a table, field, index or query definition and then you press above button.

The window youll see is extensible / scrollable in all directions. The data will be displayed in a columnar fashion. The columns will have the width of the widest data string in the rows + 5. In this way you should see the tables /querys in a nice format.

If you are finished with it, just press the exit bar at the bottom. The number of rows found and the search creteria are listed in the header of the list.

Summary


The menu's

The above menus are devided in the following submenus :

Database

Open Database

You will be presented width the open

database dialog. Select a database

you want to open.

New Database

You will be asked to give your new

database a name. It will then be

generated without anything in it.

Close Database

Closes the current database

Delete Database

Deletes the current database. You will be

asked if you are sure, since all data will

be lost

----------------------

Compress Database

Repair Database

Mesure Performance

---------------------

Print Data Definitions

View data in Database

Setup Printer

Will present the windows setup printer dialog,

so that you can select a printer for your

data dictionary print, or for the performance.

---------------------

Exit

Leaves the program, and closes the database.

Table

Add Table

Delete Table

Modify Table

---------------------

Edit data in Table

Query

Add Query definition

Delete Query definition

Modify Query definition

Field

Add Field

Delete Field

Modify Field

Index

Add Index

Delete Index

Modify Index

Reference

Add Reference

Delete Reference

Modify Reference

Help

Help Index

Will place you in the startup window for

help on Charlie data dictionary manager

Help on Help

Gives help un using the help system

Search Help

Presents a search window, by which you

can search for key-words in the Charlie

Help-file

-----------------

Registration

Will give you ALL information needed to

register your copy of Charlie.

About

Informs you about charlie and its producers

n.b! All menu items will only be usable if this is meaningfull in the current context (just like the buttons). This means for instance that the add table option is only available as long as a valid database is opened.

Summary


Print the dictionary

If you like a printout of the lay-out of your database (actually the Data Definition) press this button.

You will receive a nicely formatted report on your database (we presumed a laser-printer with A4 sheets). The report should list your tables, fields, indexes, relations and SQL-statements.

The report will be send to the current default printer. You can change the destination by using the setup printer dialog in the Database choice of the menus.

Summary


Mesure the performance

To measure the speed of access to your database, press this button. It will take some time, especially if you have tables with many rows. The access is done several 100 times to get accurate figures.

For each table there are three individual access mechanisms measured. The time to access via an index, to search on comparing a non-indexed field, and to use an query definition to get a dynaset. Tables with less then 10 rows are excluded.

The last figure in the review will be followed by the number of records in the dynaset. All times given are in milliseconds (1/1000 seconds). They are average access times.

Finally a row with the average times for the whole of the database is given.

You have three options when the display is ready. You can stop, and return to the main window, you can rerun the measurement (maybe some other programs like f.i. an incoming telefax disturbed your first measurement) or you can print the performance overview.

The report will be send to the current default printer. You can change the destination by using the setup printer dialog in the Database choice of the menus.

Summary


Ending the program

Pressing this button ends your session with the Charlie Data Dictionary manager. Any open database will be closed. The same effect is archeived by using the close option from the windows control menu, or use the exit option from the database choise in the application menu bar.

Also, if you close windows completely with charlie having a database open, it will be closed in an ordenly fashion.

Summary


Compress the database

  After pressing this button you will receive the following window :

You can, while executing a compress of your database, change the language which determines how text fields are sorted (if that is not defined otherwise with the field). Also you can save your new database encrypted, or in access 1.0 format.

If you press cancel nothing will be done, else by pressing o.k. the new database will be generated. To do this, first a database with a temporarily name in your systems TEMP directory will be made. After all went well this file will be copied over the original database.

Summary


Repair a database

By pressing this button the database you have opened will be repaired. If no database is open, you will be presented with the open database dialog from the menus. The database will be repaired to the extend possible to render a usable database.

This is - apart from stopping charlie - the only function available with no database opened.

Summary


No Entry !

This part of Charlie is still under construction, youll see it in the next release.

The button has no action attached for now.

Summary


Ordering Charlie

If you have a share-ware version of a Charlie product, you can use the following information to pay for your licence. You can also order additional copies of charlie. You will receive an Windows -installable diskette with printed manuals.

Charlie Data Dictionary Manager Costs

the cost for a shareware licence for one copy of Charlie is

Release - till 1.0	Us$ 10.--

Release 2.0	Us$ 19,--

Upgrade if 1.0 license bought before 1 september 1993 Us$ 5,--

The cost of a full copy of Charlie with manual (2.0) is 	Us$ 22.-- + Postage

Our address is :

Monte Carlo Software

Domaine de Boistell

83560 Rians

France

Tel. +33 9480 3940

Fax +33 9480 3993

CServe 100116,2550

DEFINITION OF SHAREWARE

Shareware distribution gives users a chance to try software

before buying it. If you try a Shareware program and continue

using it, you are expected to register. Individual programs

differ on details -- some request registration while others

require it, some specify a maximum trial period. With

registration, you get anything from the simple right to continue

using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software,

and the copyright holder retains all rights, with a few specific

exceptions as stated below. Shareware authors are accomplished

programmers, just like commercial authors, and the programs are

of comparable quality. (In both cases, there are good programs

and bad ones!) The main difference is in the method of

distribution. The author specifically grants the right to copy

and distribute the software, either to all and sundry or to a

specific group. For example, some authors require written

permission before a commercial disk vendor may copy their

Shareware.

Shareware is a distribution method, not a type of software. You

should find software that suits your needs and pocketbook,

whether it's commercial or Shareware. The Shareware system makes

fitting your needs easier, because you can try before you buy.

And because the overhead is low, prices are low also. Shareware

has the ultimate money-back guarantee -- if you don't use the

product, you don't pay for it.

DISCLAIMER - AGREEMENT

Users of 'Charlie' must accept this disclaimer of warranty:

'Charlie' is supplied as is.  The author disclaims all

warranties, expressed or implied, including, without limitation,

the warranties of merchantability and of fitness for any purpose.

The author assumes no liability for damages, direct or conse-

quential, which may result from the use of 'Charlie'."

'Charlie' is a "shareware program" and is provided at no charge

to the user for evaluation.  Feel free to share it with your

friends, but please do not give it away altered or as part of

another system.  The essence of "user-supported" software is to

provide personal computer users with quality software without

high prices, and yet to provide incentive for programmers to


continue to develop new products.  If you find this program

useful and find that you are using 'Charlie' and continue to use

'Charlie' after a reasonable trial period, you must make a reg-

istration payment of Us$ 19 to Monte Carlo Software.  The Us$ 19

registration fee will license one copy for use on any one

computer at any one time.  You must treat this software just like

a book.  An example is that this software may be used by any

number of people and may be freely moved from one computer

location to another, so long as there is no possibility of it

being used at one location while it's being used at another.

Just as a book cannot be read by two different persons at the

same time.

Commercial users of 'Charlie' must register and pay for their

copies of 'Charlie' within 30 days of first use or their license

is withdrawn.  Site-License arrangements may be made by con-

tacting Monte Carlo Software.

Anyone distributing 'Charlie' for any kind of remuneration must

first contact Monte Carlo Software at the address below for authorization.

This authorization will be automatically granted to distributors

recognized by the (ASP) as adhering to its guidelines for

shareware distributors, and such distributors may begin offering

'Charlie' immediately (However Monte Carlo Software must still be advised so

that the distributor can be kept up-to-date with the latest

version of 'Charlie'.).

You are encouraged to pass a copy of 'Charlie' along to your

friends for evaluation.  Please encourage them to register their

copy if they find that they can use it.  All registered users

will receive a copy of the latest version of the 'Charlie'

system.


Monte Carlo Software

Domaine de Boistell

83560 Rians

Tel. +33 9480 3940

Fax +33 9480 3993

Cserve 100116,2550


Table of Contents

Overview

Tables

Fields

Indexes

Relations

Querys

Add table

Add field

Add index

Add relation

Add query

Delete table

Delete field

Delete index

Delete relation

Delete query

Change table

Change field

Change index

Change relation

Change query

Compact the database

Repair the database

Print the Data Definition

Mesure Performance

Ok, Stop

Ordering Charlie

About Charlie


Visual Basic 3.0 - One of the finest programming tools ever !!!

Copyright by Micro Soft (as allways)


Table - A Table is a collection of fields, which have a 1:1 relation and whose values will make up a row. The fields should have a logical coherence.


Fields - A Field is an entity of information whose values obey certain rules. They normally have the same meaning, the same type, size and attributes.


Indexes - An index is a 'fast' access methos to a table-row. Comprised of fields which are used frequently to access the table, a sorted index can improve access time dramatically.


Querys - A query is an SQL statement which is located in the database. It can be used to standardise the way programs are getting their information from the tables in the database.


Relations - A relation is a connection between two tables. (might be the same table). It defines that a certain field-value in one table can only excist if it's value can be found in a field in the second table. This could be a N:1, or a 1:1 relation. The integrity of relations is handled by the Microsoft Access Jet-engine.


Types - The type available are :
Type	Size	Remarks
Boolean	1	True/False Values
Byte	1	Tiny Integer (0-256)

Currency	8	Currency values

Date	8	Date/Time values

Double	8	Double Numbers - Floating point

Integer	2	Number - Fixed Point

Long	4	Long Number - Fixed point

Text(String)	Var	Text

Memo	Var	Memo - field

Long binary	0	Images & other objects

(as per 93 rel VB 3.0 - Access Database)


Collating order - The collating order causes small differences in the sort-order of textfields if other languages are selected.


SQL Statement - SQL, or Structured Query Language, is used to query, update and manage relational databases. When you submit a query, it's result will be used to construct a recordset. It can also be used to make bulk-changes to the database (Action querys)


unique - Unique means that all values of this field must be different. An index is unique if the values of the combined fields are different, also not each single field!


target - The target in a relation is the field(s)/table that the relation is pointing to, this means the side that's allways 1. In other words "The referenced table (target) contains the values that must be present 1 or n times in the source.


source - The source is the n side of a relation. This contains the fields that will contain the values which will be checked against the target. The source is the referencing table.


auto-increment - An autoincrement field is a field that will be incremented automatically by the access engine, each time  a new row is inserted in the database


record - A record is a row in a table in the database. This means the values of the group of fields of a table that make a row.


access - The access comprises one full VB statement to get the data into the programming environment. i.e. Seek, Find and CreateDynaset